MongoDB 简介和历史

1. MongoDB 简介

1.1 什么是 MongoDB?

MongoDB 是一个开源的、面向文档的 NoSQL 数据库,使用 JSON 风格的文档存储数据。它具有高度的灵活性和可扩展性,适用于处理大规模数据和高并发访问。

1.2 NoSQL 数据库的特点

  • 非关系型:不使用传统的 SQL 关系型数据库模型。
  • 分布式:易于扩展,支持水平扩展。
  • 灵活性:文档模型允许存储复杂的数据结构。
  • 高性能:适用于高吞吐量和低延迟的应用。

2. MongoDB 的历史

2.1 起源

MongoDB 由 10gen 公司(现为 MongoDB Inc.)于 2007 年开发,最初作为 PaaS(平台即服务)的一部分。2009 年,MongoDB 作为独立的开源项目发布。

2.2 发展历程

  • 2010 年:MongoDB 1.0 发布,标志着其成为成熟的开源项目。
  • 2012 年:MongoDB 2.2 发布,引入了聚合框架。
  • 2015 年:MongoDB 3.0 发布,支持 WiredTiger 存储引擎。
  • 2018 年:MongoDB 4.0 发布,支持多文档事务。
  • 2020 年:MongoDB 4.4 发布,增强了查询和索引功能。

3. MongoDB 的核心概念

3.1 数据库(Database)

MongoDB 中的数据库是集合的物理容器。每个数据库在文件系统上都有自己的一组文件。

3.2 集合(Collection)

集合类似于关系型数据库中的表,但不需要预定义结构。集合存储文档。

3.3 文档(Document)

文档是 MongoDB 中的基本数据单元,使用 BSON(二进制 JSON)格式存储。文档类似于关系型数据库中的记录。

4. 安装和环境配置

4.1 安装 MongoDB

以下是在 Ubuntu 上安装 MongoDB 的步骤:

# 导入 MongoDB 的 GPG 密钥
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

# 创建 MongoDB 的列表文件
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

# 更新包列表
sudo apt-get update

# 安装 MongoDB
sudo apt-get install -y mongodb-org

4.2 启动 MongoDB 服务

sudo systemctl start mongod

4.3 验证安装

mongo --version

5. 基本操作

5.1 连接到 MongoDB

mongo

5.2 创建数据库

use myDatabase

5.3 创建集合

db.createCollection("myCollection")

5.4 插入文档

db.myCollection.insert({name: "John", age: 30})

5.5 查询文档

db.myCollection.find({name: "John"})

6. 实践练习

6.1 创建一个简单的博客系统

  1. 创建一个名为 blog 的数据库。
  2. 创建一个名为 posts 的集合。
  3. 插入几篇博客文章。
  4. 查询所有博客文章。

6.2 代码示例

use blog
db.createCollection("posts")

db.posts.insert({title: "First Post", content: "This is my first blog post."})
db.posts.insert({title: "Second Post", content: "This is my second blog post."})

db.posts.find()

7. 总结

通过本教程,您已经了解了 MongoDB 的基本概念、历史、安装步骤以及基本操作。接下来,您可以继续学习 MongoDB 的更多高级功能,如 CRUD 操作、索引和性能优化等。

8. 下一步

  • 学习 MongoDB 的 CRUD 操作详解。
  • 探索 MongoDB 的查询语言和操作符。
  • 了解如何进行索引和性能优化。

希望本教程能帮助您快速入门 MongoDB,并为后续的学习打下坚实的基础。